import java.util.*;
import java.io.*;

class LiczbaException extends Exception
{
	LiczbaException(String err) { super(err);}
}

public class Liczba
{
	private int n;
	Liczba() 
	{
		;
	}
	Liczba(int n) 
	{
		this.n = n;
	}
	Liczba(String n, int podstawa) throws LiczbaException 
	{
		if(podstawa < 2 || podstawa > 16)
			throw new LiczbaException("Zla podstawa");
		try
		{
		this.n = Integer.parseInt(Integer.valueOf(n,podstawa).toString());
		}
		catch(NumberFormatException ex)
		{
			throw new LiczbaException("blad podczas konwersji liczby");
		}

	}

	public String zapis(int podstawa) throws LiczbaException
	{
		if(podstawa < 2 || podstawa > 16)
			throw new LiczbaException("Zla podstawa");
		return Integer.toString(this.n,podstawa);
	}
	public static void main(String[] args)
	{
		Liczba l;
		int a = 0;
		for(int i = 0 ; i < args.length; i=i+2)
		{
			if(args[i+1].compareTo("10")==0)
			{
				try
				{
					a = Integer.parseInt(args[i]);
					l = new Liczba(a);
					for(int b = 2; b <= 16 ; b++)
					{
						System.out.println(l.zapis(b) + " " + b);
					}
				}
				catch(NumberFormatException ex)
				{
					System.out.println("blad podczas konwersji");
					continue;
				}
				catch(LiczbaException ex)
				{
					System.out.println(ex.getMessage());
				}
			}
			else
			{
				try
				{
					a = Integer.parseInt(args[i+1]);
					l = new Liczba(args[i],a);
					for(int b = 2; b <= 16 ; b++)
					{
						System.out.println(l.zapis(b) + " " + b);
					}

				}
				catch(NumberFormatException ex)
				{
					System.out.println("Blad podczas konwersji podstawy");
					continue;
				}
				catch(LiczbaException ex)
				{
					System.out.println(ex.getMessage());
				}
			}
		}
	}
}